﻿Imports System.Data
Imports System
Imports System.Collections.Generic
Imports BLGestionProyecto.BLGPActividad
Partial Class Controls_wctlActividad
    Inherits System.Web.UI.UserControl
    Dim cBLGPActividad As New BLGestionProyecto.BLGPActividad
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            Dim lBLGP As New BLGestionProyecto.BLGPMaestroTablas
            If Not Page.IsPostBack Then
                Call pollenarCombos()
                poLimpiarCampos()
                If Session("EDITAR1") = clsGPEstructuras.enmEstadoDocumentos.GPESTEDITAR Then
                    lblCodigo.Text = Request.QueryString("CODACT")
                    poLlenarCampos()
                End If
            End If
        Catch ex As Exception
            lblMensaje.Text = Err.Description
        End Try
    End Sub
    Sub pollenarCombos()
        Dim lBLGPMaestroTablas As New BLGestionProyecto.BLGPMaestroTablas
        Dim lDt As DataTable = lBLGPMaestroTablas.fuBLListarMaestroTablas("TIPOACTIVIDAD")
        cboTipo.DataValueField = "maecodSubtabla"
        cboTipo.DataTextField = "maecoddesSubtabla"
        cboTipo.DataSource = lDt
        cboTipo.DataBind()
    End Sub
    Sub poLlenarCampos()
        Try
            Dim lDt As DataTable = cBLGPActividad.fuBLBuscarActividadx(lblCodigo.Text)
            If lDt.Rows.Count > 0 Then
                txtDescripcion.Text = lDt.Rows(0)("ActDescActividad").ToString
                txtObservacion.Text = lDt.Rows(0)("actobsActividad").ToString
                cboTipo.SelectedValue = lDt.Rows(0)("actcodTipo").ToString
            End If
        Catch ex As Exception
            lblMensaje.Text = Err.Description
        End Try

    End Sub

    Public Sub poLimpiarCampos()
        txtDescripcion.Text = ""
        txtObservacion.Text = ""
        cboTipo.SelectedValue = Nothing
    End Sub
    Function fuValidarDatos(ByVal psTipoSeleccion As String) As Boolean
        Dim lbErr As Boolean
        Try
            lblMensaje.Text = ""
            Select Case psTipoSeleccion
                Case clsGPEstructuras.enmEstadoDocumentos.GPESTNUEVO, clsGPEstructuras.enmEstadoDocumentos.GPESTEDITAR
                    If txtDescripcion.Text.Trim.Length = 0 Then
                        lblMensaje.Text &= clsGPUtilidades.fuMensajeUsuValidar(clsGPEstructuras.enmMSGalUsuValidar.GPMSGDATOVACIO, "Descripcion") & "</BR>"
                        lbErr = True
                    End If
                    If cboTipo.SelectedValue = "0" Then
                        lblMensaje.Text &= clsGPUtilidades.fuMensajeUsuValidar(clsGPEstructuras.enmMSGalUsuValidar.GPMSGDATOSELECCIONINVALIDO, "Tipo de Actividad") & "</BR>"
                        lbErr = True
                    End If
            End Select
            Return Not lbErr
        Catch ex As Exception
            lblMensaje.Text = Err.Description
        End Try
    End Function

    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        poGuardar()
    End Sub
    Public Sub poGuardar()
        lblMensaje.Text = ""
        If Not fuValidarDatos(Session("EDITAR1")) Then
            Exit Sub
        End If
        Try
            Dim lBE As New BEGestionProyecto.BEGPActividad
            With lBE
                .ActDescActividad = txtDescripcion.Text
                .ActobsActividad = txtObservacion.Text
                .ActEstado = 1
                .ActcodTipo = cboTipo.SelectedValue
                .ActUserCreacionID = Session("CODUSUARIO")
                .ActUserModificacionID = Session("CODUSUARIO")
            End With
            If Session("EDITAR1") = clsGPEstructuras.enmEstadoDocumentos.GPESTNUEVO Then
                If cBLGPActividad.fuBLInsertarActividad(lBE) = False Then
                    lblMensaje.Text = clsGPUtilidades.fuMensajeUsuario(clsGPEstructuras.enmMSGalUsuario.GPMSGERRORGUARDAR)
                    Exit Sub
                End If
                lblMensaje.Text = clsGPUtilidades.fuMensajeUsuario(clsGPEstructuras.enmMSGalUsuario.GPMSGREGISTROOK)
            Else
                lBE.ActActividadID = lblCodigo.Text
                If cBLGPActividad.fuBLActualizarActividad(lBE) = False Then
                    lblMensaje.Text = "* Ocurrio un error al Grabar"
                    Exit Sub
                End If
                Response.Redirect(String.Format("wfrmActividadListar.aspx?RSP={0}", String.Format(clsGPEstructuras.enmMSGalUsuario.GPMSGACTUALIZACIONOK)))
            End If
            poLimpiarCampos()
        Catch ex As Exception
            lblMensaje.Text = Err.Description
        End Try
    End Sub

    Protected Sub btnRetornar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRetornar.Click
        Response.Redirect("wfrmActividadListar.aspx")
    End Sub

End Class